package com.ruoyi.oa.service;

import com.ruoyi.oa.domain.OaHoliday;
import com.ruoyi.oa.domain.vo.OaHolidayVo;
import com.ruoyi.oa.domain.bo.OaHolidayBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 假期Service接口
 *
 * @author ruoyi
 * @date 2023-07-12
 */
public interface IOaHolidayService {

    /**
     * 查询假期
     */
    OaHolidayVo queryById(String id);

    /**
     * 查询假期列表
     */
    TableDataInfo<OaHolidayVo> queryPageList(OaHolidayBo bo, PageQuery pageQuery);

    /**
     * 查询假期列表
     */
    List<OaHolidayVo> queryList(OaHolidayBo bo);

    /**
     * 新增假期
     */
    Boolean insertByBo(OaHolidayBo bo);

    /**
     * 修改假期
     */
    Boolean updateByBo(OaHolidayBo bo);

    /**
     * 校验并批量删除假期信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);


    /**
     * 按照yyyy:MM:dd传入日期
     * @param date
     * @return
     */
    OaHoliday selectIsHoliday(String date);

}
